//extern "C" 识别

#ifdef WINDOWS

#define EXPORT_API extern "C" __declspec(dllexport)

#else

#define EXPORT_API extern "C"

#endif

#define XXX 30

//声明
int;

int b;

int a=b,c,d=10;

int e (d);

int f [34],g=1;

// int (*h) (&a);

// int aa = fun0();    //赋值 右 调函数

//枚举

enum e1;

enum  e11{
    one = XXX 
};

enum e2{ ea,eb,ec};

enum e3{

     ea = 1,

     eb,ec};

enum  e4{

    ea,

    eb,

};

enum week{

    Monday,

    Tuesda = 1,

    Wednesday = 2,

    Friday

};

//结构体
struct stc0{};

struct stc1{
    int a;
    const int b;
};

struct stc2{

    int a:2;

    const int b;

    week sw;

    const stc1 st;

} _w;

//嵌套结构体
struct structName
{

    struct  subS
    {

        int a:98;

        const float a1;

        float b1;

        int b2;

    } _subs;

    int a;

    int* ap;

    int b[16];

    struct stc1  outside;

    struct  subS c;

    enum week w;

} _sName;



//函数
static int fun0(int a){ return 1;} 

void fun1(){
     int a =1;
     //赋值表达式
     a = 2;
} 

EXPORT_API void fun2(int a)

{
     int a = d;
     a = 4;
     b = 5;
}

EXPORT_API void fun21(struct structName pa , enum week *ww , enum week *ww1[12]){
     int a = d;
     a = 4;
     b = 5;
}

//可变长参数
 void fun3(int , ...){
     int a =1;
}
//可变长参数
EXPORT_API void fun31(int c, ...){
     int a =1;
}

EXPORT_API const int fun4(int t[56] , float *a[31]){
    //xxxxxxxxxxx
    int a =1;
    {
        //xxxxxxxxxxx
        float f11 = 4.5;
    }
}

 void fun5(int a, int* b){
    int aa = a;
 faxx:   int vv = 10;
 {

     int tt =4;
 }
 fafa:   fun1();
    if(a == 1){
        aa = 1;
    }else{
        aa = 0;
    }
    
    switch (aa)
    {
    case 1:
        aa = 2;
        break;
    default:
        break;
    }

    while (1)
    {
        // aa += 123;
    };

    goto  fafa;
}

